<!DOCTYPE html>
<html>
  <!-- meta/link... -->
  



<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
  <!-- Global site tag (gtag.js) - Google Analytics -->


  <title>对创业的思考 | 老顾的个人博客网站</title>

  <link rel="icon" type="image/x-icon, image/vnd.microsoft.icon" href="/my-blog/favicon.ico">
  <link rel="stylesheet" href="https://at.alicdn.com/t/font_1911880_c1nvbyezg17.css">
  <link href="https://unpkg.com/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet">
  <link href="/my-blog/js/swiper/swiper@5.4.1.min.css" rel="stylesheet">
  
  
  
  
<link rel="stylesheet" href="/my-blog/css/animate.min.css">

  
<link rel="stylesheet" href="/my-blog/css/style.css">

  
  
    
<link rel="stylesheet" href="/my-blog/js/fancybox/jquery.fancybox.min.css">

  
  
    
<link rel="stylesheet" href="/my-blog/js/shareJs/share.min.css">

  
  <style>
        @media (max-width: 992px) {
            #waifu {
                display: none;
            }
        }
    </style>
    <script src="//cdn.bootcss.com/pace/1.0.2/pace.min.js"></script>
    <link href="//cdn.bootcss.com/pace/1.0.2/themes/pink/pace-theme-flash.css" rel="stylesheet">

    
        <script src="/my-blog/js/valine/index.js"></script>
    

    <!-- import link -->
    
        
            
        
            
        
    
    <!-- import script -->
    
        
            
        
            
        
    

<meta name="generator" content="Hexo 6.3.0"></head>

  
  <!-- 依赖于jquery和vue -->
  
    
<script src="https://unpkg.com/jquery@3.5.1/dist/jquery.min.js"></script>

  

  
    
<script src="https://unpkg.com/vue@2.6.11/dist/vue.min.js"></script>

  
  
  <!-- 预加载动画 -->
  <!-- 页面预加载动画 -->

  
    <div class="preloader_3" id="loader">
  <div class="bar">
    <div class="ball"></div>
  </div>
</div>

  
<script>
  var endLoading = function () {
    document.body.style.overflow = 'auto';
    document.getElementById('loader').classList.add("loading");
  }
  window.addEventListener('DOMContentLoaded',endLoading);
</script>

  <body>
    <!-- 判断是否为暗黑风格 -->
    <!-- 判断是否为黑夜模式 -->
<script>
  let isDark = JSON.parse(localStorage.getItem('dark')) || JSON.parse('false');

  if (isDark) {
    $(document.body).addClass('darkModel');
  }
</script>

    <!-- 需要在上面加载的js -->
    <script>
  function loadScript(src, cb) {
    return new Promise(resolve => {
      setTimeout(function () {
        var HEAD = document.getElementsByTagName("head")[0] || document.documentElement;
        var script = document.createElement("script");
        script.setAttribute("type", "text/javascript");
        if (cb) {
          if (JSON.stringify(cb)) {
            for (let p in cb) {
              if (p == "onload") {
                script[p] = () => {
                  cb[p]()
                  resolve()
                }
              } else {
                script[p] = cb[p]
                script.onload = resolve
              }
            }
          } else {
            script.onload = () => {
              cb()
              resolve()
            };
          }
        } else {
          script.onload = resolve
        }
        script.setAttribute("src", src);
        HEAD.appendChild(script);
      });
    });
  }

  //https://github.com/filamentgroup/loadCSS
  var loadCSS = function (src) {
    return new Promise(resolve => {
      setTimeout(function () {
        var link = document.createElement('link');
        link.rel = "stylesheet";
        link.href = src;
        link.onload = resolve;
        document.getElementsByTagName("head")[0].appendChild(link);
      });
    });
  };

</script> 

<!-- 轮播图所需要的js -->
<script src="/my-blog/js/swiper/swiper.min.js"></script>
<script src="/my-blog/js/swiper/vue-awesome-swiper.js"></script>
<script src="/my-blog/js/swiper/swiper.animate1.0.3.min.js"></script>

<script type="text/javascript">
  Vue.use(window.VueAwesomeSwiper)
</script>


  <script src="/my-blog/js/vue-typed-js/index.js"></script>


<!-- 首页的公告滚动插件的js需要重新加载 -->
<script src="/my-blog/js/vue-seamless-scroll/index.js"></script>

<!-- 打字机效果js -->
<script src="https://unpkg.com/typed.js@2.0.11"></script>


    <div id="safearea">
      <main class="main" id="pjax-container">
        <!-- 头部导航 -->
        
<header class="header  " 
  id="navHeader"
  style="position: fixed;
  left: 0; top: 0; z-index: 10;width: 100%;"
>
  <div class="header-content">
    <div class="bars">
      <div id="appDrawer" class="sidebar-image">
  <div class="drawer-box-icon">
    <i class="fas fa-bars" aria-hidden="true" @click="showDialogDrawer"></i>
  </div>
  
  <transition name="fade">
    <div class="drawer-box_mask" v-cloak style="display: none;" v-show="visible" @click.self="cancelDialogDrawer">
    </div>
  </transition>
  <div class="drawer-box" :class="{'active': visible}">
    <div class="drawer-box-head bg-color">
      <img class="drawer-box-head_logo lazyload placeholder" src="/my-blog/medias/logo.png" class="lazyload placeholder" data-srcset="/my-blog/medias/logo.png" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="logo">
      <h3 class="drawer-box-head_title">老顾的个人博客网站</h3>
      <h5 class="drawer-box-head_desc">芝兰生于幽谷，不已无人而不芳</h5>
    </div>
    
    <div class="drawer-box-content">
      <ul class="drawer-box-content_menu">
        
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="/my-blog/" class="drawer-menu-item-link">
                  
                    <i class="fas fa-home" aria-hidden="true"></i>
                  
                  <span class="name">首页</span>
                </a>
              
            </li>
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="/my-blog/archives" class="drawer-menu-item-link">
                  
                    <i class="fas fa-archive" aria-hidden="true"></i>
                  
                  <span class="name">归档</span>
                </a>
              
            </li>
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="/my-blog/tags" class="drawer-menu-item-link">
                  
                    <i class="fas fa-tags" aria-hidden="true"></i>
                  
                  <span class="name">标签</span>
                </a>
              
            </li>
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="/my-blog/categories" class="drawer-menu-item-link">
                  
                    <i class="fas fa-bookmark" aria-hidden="true"></i>
                  
                  <span class="name">分类</span>
                </a>
              
            </li>
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="/my-blog/about" class="drawer-menu-item-link">
                  
                  <span class="name">关于</span>
                </a>
              
            </li>
          
            <li class="drawer-box-content_item" style="position: relative;">
              
                <a href="javascript:;" class="drawer-menu-item-link has-children" @click="openOrCloseMenu(5)">
                  <span>
                    
                      <i class="fas fa-link"></i>
                    
                    <span class="name">更多</span>
                  </span>
                  <i class="fas fa-chevron-left arrow " :class="{'icon-rotate': isOpen(5)}" aria-hidden="true"></i>
                </a>
                <ul class="drawer-sub-menu" v-if="isOpen(5)">
                  
                  <li>
                    <a href="/my-blog/gallery">
                      
                      <i class="fas fa-music" style="margin-top: -20px;"></i>
                      
                      <span>图库</span>
                    </a>
                  </li>
                  
                  <li>
                    <a target="_blank" rel="noopener" href="http://baidu.com">
                      
                      <i class="fas fa-film" style="margin-top: -20px;"></i>
                      
                      <span>百度</span>
                    </a>
                  </li>
                  
                </ul>
              
            </li>
          
        
        
          <li class="drawer-box-content_item">
            <a target="_blank" rel="noopener" href="https://github.com/Engineer-Gu">
              <i class="fas fa-github" aria-hidden="true"></i>
              <span>Github</span>
            </a>
          </li>
        
      </ul>
    </div>
  </div>
</div>

<script>
  var body = document.body || document.documentElement || window;
  var vm = new Vue({
    el: '#appDrawer',
    data: {
      visible: false,
      top: 0,
      openArr: [],
    },
    computed: {
    },
    mounted() {
    },
    methods: {
      isOpen(index) {
        if (this.openArr.includes(index)) {
          return true;
        } else {
          return false;
        }
      },
      openOrCloseMenu(curIndex) {
        const index = this.openArr.indexOf(curIndex);
        if (index !== -1) {
          this.openArr.splice(index, 1);
        } else {
          this.openArr.push(curIndex);
        }
      },
      showDialogDrawer() {
        this.visible = true;
        // 防止页面滚动，只能让弹框滚动
        this.top = $(document).scrollTop()
        body.style.cssText = 'width: 100%; height: 100%;overflow: hidden;';
      },
      cancelDialogDrawer() {
        this.visible = false;
        body.removeAttribute('style');
        $(document).scrollTop(this.top)
      }
    },
    created() {}
  })
</script>

    </div>
    <div class="blog-title" id="author-avatar">
      
        <div class="avatar">
          <img src="/my-blog/medias/logo.png" class="lazyload placeholder" data-srcset="/my-blog/medias/logo.png" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="logo">
        </div>
      
      <a href="/my-blog/" class="logo">老顾的个人博客网站</a>
    </div>
    <nav class="navbar">
      <ul class="menu">
        
          
            <li class="menu-item" style="position: relative;">
              
                <a href="/my-blog/" class="menu-item-link" title="首页">
                  
                    <i class="fas fa-home" aria-hidden="true"></i>
                  
                  <span class="name">首页</span>
                </a>
              
            </li>
          
            <li class="menu-item" style="position: relative;">
              
                <a href="/my-blog/archives" class="menu-item-link" title="归档">
                  
                    <i class="fas fa-archive" aria-hidden="true"></i>
                  
                  <span class="name">归档</span>
                </a>
              
            </li>
          
            <li class="menu-item" style="position: relative;">
              
                <a href="/my-blog/tags" class="menu-item-link" title="标签">
                  
                    <i class="fas fa-tags" aria-hidden="true"></i>
                  
                  <span class="name">标签</span>
                </a>
              
            </li>
          
            <li class="menu-item" style="position: relative;">
              
                <a href="/my-blog/categories" class="menu-item-link" title="分类">
                  
                    <i class="fas fa-bookmark" aria-hidden="true"></i>
                  
                  <span class="name">分类</span>
                </a>
              
            </li>
          
            <li class="menu-item" style="position: relative;">
              
                <a href="/my-blog/about" class="menu-item-link" title="关于">
                  
                  <span class="name">关于</span>
                </a>
              
            </li>
          
            <li class="menu-item" style="position: relative;">
              
                <a href="javascript:;" class="menu-item-link" title="更多">
                  
                    <i class="fas fa-link"></i>
                  
                  <span class="name">更多</span>
                  <i class="fas fa-chevron-down arrow" aria-hidden="true"></i>
                </a>
                <ul class="sub-menu">
                  
                  <li>
                    <a href="/my-blog/gallery">
                      
                      <i class="fas fa-music" style="margin-top: -20px;"></i>
                      
                      <span>图库</span>
                    </a>
                  </li>
                  
                  <li>
                    <a target="_blank" rel="noopener" href="http://baidu.com">
                      
                      <i class="fas fa-film" style="margin-top: -20px;"></i>
                      
                      <span>百度</span>
                    </a>
                  </li>
                  
                </ul>
              
            </li>
          
        
      </ul>
      
      
        <div id="appSearch">
  <div class="search"  @click="showDialog()"><i class="fas fa-search" aria-hidden="true"></i></div>
  <transition name="fade">
    <div class="message-box_wrapper" style="display: none;" v-cloak v-show="dialogVisible" @click.self="cancelDialogVisible()">
      <div class="message-box animated bounceInDown">
        <h2>
          <span>
            <i class="fas fa-search" aria-hidden="true"></i>
            <span class="title">本地搜索</span>
          </span>
          <i class="fas fa-times close" pointer style="float:right;" aria-hidden="true" @click.self="cancelDialogVisible()"></i>
        </h2>
        <form class="site-search-form">
          <input type="text"
            placeholder="请输入关键字"
            id="local-search-input" 
            @click="getSearchFile()"
            class="st-search-input"
            v-model="searchInput"
          />
        </form>
        <div class="result-wrapper">
          <div id="local-search-result" class="local-search-result-cls"></div>
        </div>
      </div>
    </div>
  </transition>
</div>
<script src="/my-blog/js/local_search.js"></script>
<script>
  var body = document.body || document.documentElement || window;
  var vm = new Vue({
    el: '#appSearch',
    data: {
      dialogVisible: false,
      searchInput: '',
      top: 0,
    },
    computed: {
    },
    mounted() {
      window.addEventListener('pjax:complete', () => {
        this.cancelDialogVisible();
      })
    },
    methods: {
      showDialog() {
        this.dialogVisible = true;
        // 防止页面滚动，只能让弹框滚动
        this.top = $(document).scrollTop()
        body.style.cssText = 'overflow: hidden;';
      },
      getSearchFile() {
        if (!this.searchInput) {
          getSearchFile("/my-blog/search.xml");
        }
      },
      cancelDialogVisible() {
        this.dialogVisible = false;
        body.removeAttribute('style');
        $(document).scrollTop(this.top)
      },
    },
    created() {}
  })
</script>
<!-- 解决刷新页面闪烁问题，可以在元素上添加display: none, 或者用vue.extend方法，详情：https://blog.csdn.net/qq_31393401/article/details/81017912 -->
<!-- 下面是搜索基本写法 -->
<!-- <script type="text/javascript" id="local.search.active">
  var inputArea = document.querySelector("#local-search-input");
  inputArea.onclick   = function(){ getSearchFile(); this.onclick = null }
  inputArea.onkeydown = function(){ if(event.keyCode == 13) return false }
</script> -->

      

    </nav>
  </div>
  
    <a target="_blank" rel="noopener" href="https://github.com/Engineer-Gu" class="github-corner color-primary" aria-label="View source on GitHub"><svg width="60" height="60" viewBox="0 0 250 250" style="fill:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;" class="octo-arm"></path><path d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor" class="octo-body"></path></svg></a><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style>
  
  
    <div id="he-plugin-simple"></div>
    <script>
      WIDGET = {
        CONFIG: {
          "modules": "012",
          "background": 5,
          "tmpColor": "4A4A4A",
          "tmpSize": 16,
          "cityColor": "4A4A4A",
          "citySize": 16,
          "aqiSize": 16,
          "weatherIconSize": 24,
          "alertIconSize": 18,
          "padding": "10px 10px 10px 10px",
          "shadow": "1",
          "language": "auto",
          "borderRadius": 5,
          "fixed": "false",
          "vertical": "middle",
          "horizontal": "center",
          "key": "2784dd3fcb1e4f0f9a9b579bf69641f2"
        }
      }
    </script>
    <script src="https://widget.qweather.net/simple/static/js/he-simple-common.js?v=2.0"></script> 
    
</header>
        <!-- 内容区域 -->
        
 <!-- prismjs 代码高亮 -->
 


<div class="bg-dark-floor" style="position: fixed;left: 0;top: 0;width: 100%;height: 100%;z-index: -1;"></div>


  <!-- 文章详情页顶部图片和标题 -->




<div class="post-detail-header" id="thumbnail_canvas" style="background-repeat: no-repeat; background-size: cover; 
  background-position: center center;position: relative;background-image:url('https://pic3.zhimg.com/v2-a5267dfbf175991d4b3a69b41f3f678a_b.jpg')">
  <div class="post-detail-header-mask"></div>
  <canvas id="header_canvas"style="position:absolute;bottom:0;pointer-events:none;"></canvas>
  
  <div class="post-detail-header_info-box">
    <div class="title-box">
      <span class="title">
        对创业的思考
      </span>
    </div>
    
    
      
        <span class="post-detail-header_date">
          <i class="fas fa-calendar"></i> 发表于：2023-10-06 |
        </span>
      

      

      
        <div class="post-detail-header_wordcount">
          <span class="totalcount">
            <i class="fas fa-file-text-o"></i> 字数统计: 7.6k |
          </span>
  
          <span class="min2read">
            <i class="fas fa-clock"></i> 阅读时长: 25分钟 |
          </span>
  
          
            <span class="reading">
              <i class="fas fa-eye"></i> 阅读量：<span id="busuanzi_value_page_pv"></span>
            </span>
          
        </div>
      
    
  </div>
  
  
    <script src="/my-blog/js/bubble/bubble.js"></script>
  
</div>





<div class="post-detail-content post-row" 
  style="padding-top: 0px;">
  <div class="main-content">
    <article class="post post-detail">
      <div class="post-content">
        <p>创业是什么？</p>
<p>所谓创业就是在一个行业中创建属于自己的事业，可以是做小生意，也可以是开公司，事业有大有小，成功与否因人而异，但是不管怎么说，都要在心里埋下一颗创业的种子并朝这个方向走，不然光靠打工是很难获得很多财富的。以下就写写我对创业方面的认知和思考，希望看了后你能有所收获。</p>
<h2 id="前置"><a href="#前置" class="headerlink" title="前置"></a>前置</h2><p>创业是一个很庞大的体系，里面包含了很多需要掌握的技能，我通过看书以及课程拆分出了如下技能，而它们也构成了整个创业相关的体系：</p>
<ul>
<li>软技能：财商、情商、沟通、思维、商业</li>
<li>硬技能：人事、产品、研发、销售、运营、电商、法律、会计</li>
</ul>
<p>掌握了上面的各个技能，也算是为创业前做铺垫了，但是知易行难，只有实际去做的时候才是真正向这个方面在迈步走去了。</p>
<h2 id="真正创业前会做的事情"><a href="#真正创业前会做的事情" class="headerlink" title="真正创业前会做的事情"></a>真正创业前会做的事情</h2><p>我给自己设置了一些创业前要做的事情，待这些事情都完成后，我会攒一笔钱，去尝试真正的创业：</p>
<ul>
<li>深入拆解50个科技公司 ✓</li>
<li>确定公司定位和产品 ✓</li>
<li>建立高质量信息获取渠道 ✓</li>
<li>建立创业相关的知识体系 ✓</li>
<li>和至少20个客户聊你要做的产品并得到反馈</li>
<li>经历至少100次各种各样的拒绝</li>
<li>找到这些资源：需求，产品，客户，钱，人才</li>
<li>去餐厅打工，去当骑手，去开发一个app，一个网站，去做一个公众号，去直播卖货</li>
<li>观摩20个创业演讲和讲座并讲出来</li>
<li>寻找合伙人，寻找团队</li>
<li>体验一次所有的吃喝玩乐</li>
<li>可以与英语母语者无障碍交流</li>
<li>把所学的东西讲出来并录制成课程或者文档</li>
<li>从基层员工干到业务负责人到合伙人到CEO</li>
<li>让自己保持像老板和CEO那样去思考至少两年</li>
</ul>
<h2 id="创业成本假设核算"><a href="#创业成本假设核算" class="headerlink" title="创业成本假设核算"></a>创业成本假设核算</h2><p>注册公司：注册实缴2.8k，认缴10w</p>
<p>办公场所：每个月2.5，1年2.5w，2年5w，3年7.5w</p>
<p>办公用品：每年预算5k</p>
<p>财务：1w</p>
<p>人员成本（没考虑社保）：</p>
<p>5个人，3个人5.5k，1个人6.5k，1个人8k，每个月3.1w，1年37.2w，2年74.4w，3年111.6w</p>
<p>10个人，5个人5.5k，3个人6.5k，2个人8k，每个月6.3w，1年75.6w，2年151.2w，3年226.8w</p>
<p>15个人，8个人5.5k，2个人6.5k，3个人8k，2个人10k，每个月10.1w，1年121.2w，2年242.4w，3年363.6w</p>
<p>20个人，10个人6k，5个人8k，3个人10k，两个人12k，每个月15.4w，1年184.8w，2年369.6w，3年554.4w</p>
<p>市场推广成本：广告费，公关费，网络推广费，每年预算2w</p>
<p>税费：公司所得税，增值税，印花税，每年预算1w</p>
<p>法律顾问费用：每年预算1w</p>
<p>采购成本：采购原材料，设备，办公用品，每年预算5k</p>
<p>其他费用：银行手续费，证照年检费，管理咨询费，电脑硬件更新费，网络费用…每年预算1w</p>
<p>目前总计：</p>
<p>5人公司，1年成本：50w</p>
<p>10人公司，1年成本：85.9w</p>
<p>以上成本只是我的个人假设性核算，实际操作可能花的会更多或者更少也说不定。</p>
<h2 id="对公司经营的思考"><a href="#对公司经营的思考" class="headerlink" title="对公司经营的思考"></a>对公司经营的思考</h2><p><strong>公司能经营下去的要点</strong></p>
<ul>
<li>首先要能够获取干净的现金流</li>
<li>有了现金流，还要保障资金链不能断裂、然后要能维持日常公司存活下去的一切开支，如：员工工资、给员工缴纳的社保、每月团建的开销、每月补贴的开销，每月办公场所的房租、以及其它等等意想不到的开支</li>
<li>去除每月必要的开支以后，剩下的钱能满足维持接下来两到三个月的开支后，再剩下了的钱就是真正盈利的钱</li>
<li>如果每个月剩不了钱，那就要为公司的破产倒闭做准备，要坚持不让自己负债的原则去开公司</li>
<li>如果业务盈利赚钱了，先不要急着扩张招人，等现金流稳定了几个月再考虑招人扩展。</li>
</ul>
<p><strong>对使命愿景跟价值观的思考</strong></p>
<p>一个公司，如果没有使命，也就没有存在的意义，没有使命去创业的话，会变得非常迷茫，公司也很散乱</p>
<p><strong>使命：</strong>就是我们为什么要做这家公司？</p>
<p>个人：为了成就自己的事业，为了有一个源源不断赚钱的资产，为了成为富人，为了掌控自己的人生</p>
<p>企业：解决某个行业问题，为社会做贡献，改变世界</p>
<p>如果不跟使命挂钩就不做这块业务</p>
<p><strong>愿景：</strong>我们最终会做成什么样子？</p>
<p>愿景要和使命挂钩，最终这个使命能做成什么样子也是我们可以想象和看到的</p>
<p><strong>价值观：</strong>保证我们能去达到最终的目的</p>
<p>也就是怎么去做的问题，每个企业都有自己的价值观，如果价值观不相同的人，也不会融入这家公司</p>
<p><strong>价值观参考：用户第一、拥抱变化、团队合作、快乐生活，认真工作、正直，信任、创新、务实</strong></p>
<p><strong>用户第一：</strong>无论如何要保障用户的利益</p>
<p><strong>团队合作：</strong>如果一个团队达不到合作那最终很多事情是无法完成的</p>
<p><strong>正直，信任：</strong>如果做不到正直，做不到信任，那最终团队合作也是没有意义的，信任是最重要的</p>
<p><strong>拥抱变化：</strong>我们一定要去感知这世界的变化，并且积极的去拥抱，不要一成不变</p>
<p><strong>创新：</strong>如果达不到创新的精神，那么所有公司就会一直守旧，导致最终发展不能前进</p>
<p><strong>快乐生活，认真工作：</strong>一定要把生活和工作分开，生活快快乐乐生活，工作一定要认真工作</p>
<p>把使命愿景价值观定好了就要去<strong>规划战略</strong>，给自己的公司定下一些小目标，这些小目标最终做完后就可以达到最终的愿景，比如定一年目标、两年目标、三年目标、五年目标等等</p>
<p>出现问题要<strong>及时复盘</strong>，发现问题并解决问题，最终如果小目标完成了，那大目标也就完成了</p>
<p>所以公司的顶层设计一定要考虑好，这不是一个人的产物，而是小伙伴们集体头脑风暴出来的结果，思考好了顶层的东西，接下来才是考虑其它事情</p>
<p><strong>思考完毕后，接下来就是去考虑如何降低成本</strong></p>
<p>降低成本，创业一定要心够狠，把一分钱掰成两半花，钱要花在打磨产品上，不要整花里胡哨的，</p>
<p>比如考虑公司的装修、选址、置办的物品等，做事情前先把预算设计好，如果连预算都做不好，最后一定会有很多坏账导致成本失控</p>
<p>除此之外，还要考虑到如何优化设计产品，让用户体验感更加良好，考虑给员工创造幸福感？从办公室设计到生活配套，到工作福利等等</p>
<p>还要去思考如何招人，你可以选择招普通员工，也可以招经理或者总监，当然代价是花钱不同，你也可以选择招研发人才，那你的产品单价就会高，你招运营人才，你的用户留存就高，你招销售人才，你的客户转化率就高</p>
<p><strong>如何提升员工幸福感？</strong></p>
<p>【工资】每个月10号发工资，按时缴纳社保不拖沓，工资组成：基本工资 + 在岗工资 + 绩效工资 + 项目奖金 + 特殊补贴 + 加班费 + 年终奖，年终奖组成（在职时间一年发一个月，两年两个月，以此类推）</p>
<p>【转正】试用期满3-6个月，满3个月会根据在职表现考核，考核通过即可转正，每月一次考核，若满6个月还未通过考核则会被辞退，试用期工资不打折</p>
<p>【驱动】不打卡，不强制要求加班，需要保证自己每天干完当天的工作，允许每周花 20% 的时间做自己想做的事，会定期安排培训加强专业技能，会定期组织个人成长分享会（分享专业技能或生活技能）</p>
<p>【团建】每个月25号团建，随机抽奖一个作为团建：聚餐、KTV、轰趴馆、狼人杀、剧本杀、桌球、羽毛球、足疗、下午茶、野炊、泡澡、旅游</p>
<p>【福利】每月的10号&#x2F;20号&#x2F;30号抽奖发放面额为5-10-15元的餐补券、零食券、咖啡&#x2F;奶茶券，凭券可兑换现金或者实物，送节假日礼物、送生日礼物、有年终奖、有特殊补贴</p>
<p>【晋升】有完整的晋升体系，每年在6月和12月有两次晋升机会和涨薪机会（会进行考核）</p>
<p>【加班】加班到9点-11点，按不同时间段补贴20-30-40块钱的加班费</p>
<p>【假期】双休、节假日正常放，年假7天，节假日可以累积，可以用双休或节假日调休工作日</p>
<h2 id="对创业相关整理的问题"><a href="#对创业相关整理的问题" class="headerlink" title="对创业相关整理的问题"></a>对创业相关整理的问题</h2><p>下面是我看零几年的一档节目《赢在中国》评委向参赛选手提问的一些问题，很多我都答不上来，下面分享一下：</p>
<ol>
<li>怎么让我通俗易懂的让我了解你想干什么事，这件事跟我有什么关系？</li>
<li>创业有多长时间了？</li>
<li>现在每个月是盈利了吗？</li>
<li>要风投干嘛？</li>
<li>需要一笔资金让平台再上一个台阶，第二需要获得更好的管理方式和架构</li>
<li>团队多少人？你是怎样传递自己的企业价值观？</li>
<li>拿什么资本去整合资源？</li>
<li>到目前为止开除过员工吗？</li>
<li>如果你发了财，你拥有用不完的钱财，你最想做的事是什么？</li>
<li>说说经营企业中最反对最不同意的三件事情</li>
<li>你的项目已经启动多长时间了？</li>
<li>说说你的个人背景还有兴趣爱好？</li>
<li>怎样解决现金流问题？让资金流通</li>
<li>你的事业和家庭有冲突矛盾的时候，你怎么处理？谁是放在第一位的？</li>
<li>你最大的收获是什么？最大的遗憾是什么？</li>
<li>你如何保证你能够奉献于社会？</li>
<li>为什么能赚钱？</li>
<li>能赚多少钱？</li>
<li>每年盈利多少多少，预计未来盈利多少多少？</li>
<li>为什么是你们？</li>
<li>能赚多长时间？</li>
<li>你到底会有一个什么样的应用或者产品让我付钱？</li>
<li>为什么要上市？</li>
<li>你凭什么上市？你的营业额规模有多大？</li>
<li>你觉得一家公司具备什么样的条件可以上市？</li>
<li>你现在团队人才的配置是怎样的？哪些人做哪些事？</li>
<li>你如果拿到了一千万你会怎样去分配这笔钱？</li>
<li>你发展的过程中，哪些是你的障碍点？</li>
<li>你怎么样很快的让很多人都用你这个东西？</li>
<li>你怎么让很多商家都来给你签合同？</li>
<li>能用半分钟时间解释一下你公司的战略吗？</li>
<li>你的产品增值，给客户增加了什么新的东西？</li>
<li>你的产品访问人数是多少？</li>
<li>你的业务最核心的是什么？</li>
<li>你凭什么比你的竞争对手做的更好？你有什么竞争壁垒？</li>
<li>最大的成本是什么？</li>
<li>收支平衡大概需要多长时间？</li>
<li>你在做这个公司以前有什么经历？</li>
<li>你的产品利润每年是多少个点？</li>
<li>你的企业资金是从哪来的？</li>
<li>你的核心竞争力是什么？</li>
<li>你的市场有多大？</li>
<li>介绍一下你的团队</li>
<li>我给你的团队付高薪，做你同样的事，让他们加入我，你觉得他们会不会来？你有什么招来对付这样的事？</li>
<li>你这个项目如果失败的话，你给我三个可以让你项目失败的原因</li>
<li>你的项目的盈利模式是什么？</li>
<li>你跟多少个厂商谈过，有多少跟你签约了？</li>
<li>你觉得你喜欢自己的性格吗？你能分析一下你的性格能带给你创业的正向或者负向效益吗？</li>
<li>你所想让别人听到对你最好的评价是什么？</li>
<li>你听到的最多的也是最不喜欢别人对你的评论是什么？</li>
<li>你相信命运吗？如果相信，请用一句话解释</li>
<li>如何用最简单的方法稳住自己的创业团队？</li>
<li>为什么要创业？创业的动机是什么？</li>
<li>说出你们最赚钱的三个点</li>
<li>你公司主要的收入来源是什么？</li>
<li>你是怎么组装自己的团队的？</li>
<li>如果给你一千万，你会去怎样分配这笔钱？</li>
<li>你觉得自己心目中比较理想的女性是怎样的？</li>
<li>你可以给我描述一下，你的公司取得最辉煌的成就的时候会是什么样子？</li>
<li>客户是谁？产品是怎样？到底怎么挣钱？</li>
<li>如果你手下的团队各个部门矛盾重重，信任感丢失，你会怎样打破这种局面，解决这种问题？</li>
<li>什么事让你最开心？什么事让你打击最大？</li>
<li>你是因为一直怀有创业的梦想呢？还是工作的时候发现了机会才有创业的决心？</li>
<li>你觉得你身上具备哪三个优点可以保证你创业一定成功？</li>
<li>你这个东西是发现一个市场做还是发现别人很多人在做，你是怎么想出来要做这么一个东西的？</li>
<li>你觉得你目前要发展最大的瓶颈是什么呢？</li>
<li>分析一下你们目前面临的问题，你们应该怎样去面对市场？</li>
<li>你觉得怎样应该快速的积累100w用户？</li>
<li>你有一个非常好的朋友，你又恰巧知道你这个好朋友在背后说了你的坏话，那你一般来说有什么反应？</li>
<li>你平时做事是不是对别人不太放心，总是做一些细节的事情？</li>
<li>你最到最大的挫折是什么时候，是什么事？</li>
<li>你认为学历跟创业成功有关系吗？</li>
<li>你是怎么看待超过了你非常大的竞争对手的？</li>
<li>影响你情绪的因素有哪些？你为什么克服不了？</li>
<li>你需要你的员工具备什么样的特质和什么样的文化？</li>
<li>你的心究竟有多大？能给我描述一下吗？</li>
<li>你什么时候要孩子？你对性别有没有什么偏见？</li>
<li>你可以给CEO多少钱一个月？不给钱，给期权</li>
<li>你个人是不是真的有百分百的信心觉得能把这个项目做起来，还是觉得失败的可能性大于成功的可能性？</li>
<li>你的心态为什么非常平稳？</li>
<li>如果你现在是一个CEO，你有一个财务总监又有一个销售总监，财务总监跟你说现在公司的钱不够要节约，销售总监跟你说我们现在销售不出去必须得多打广告，而他们两个人都很能干，但是意见不统一，你怎么办？</li>
<li>在企业的高速发展中，遇到资金链枯竭的问题，你怎么去解决？</li>
<li>你认为作为我们创业者，在一开始建立企业文化的时候，应该需要哪些文化？为什么？</li>
<li>具体把企业文化导入到团队中你会有哪些措施？</li>
<li>你最痛恨你身上的哪些特点？</li>
<li>你觉得这些特点利大于弊还是弊大于利？</li>
<li>你最恐惧什么？</li>
<li>你做过的最奢侈的事情是什么？</li>
<li>你最想改变当今社会的哪一点？</li>
<li>你最希望拥有哪种才华？</li>
<li>管理型企业最重要的是什么？文化</li>
<li>你心目当中的英雄和对你影响最大的人是谁？</li>
<li>你最近在读什么书？</li>
<li>你最想做但是目前还没做出来的产品是什么？</li>
<li>今年要挣多少个W？</li>
<li>资源在哪里？</li>
<li>市场在哪里？</li>
<li>该去认识谁，该去结交谁？</li>
<li>怎么整合资源和人脉？</li>
<li>怎么满足市场、客户的需求？</li>
<li>怎么快速复制自己的业务？</li>
<li>怎么跟别人合作，使利益最大化？</li>
<li>怎么优势互补，怎么强强联合？</li>
<li>怎么搞应酬，怎么拿下客户？</li>
<li>怎么激励下属，怎么管理下属？</li>
<li>怎么将自己的优势发挥到极致？</li>
<li>有没有更好的商业模式可以让自己的公司发展更快？</li>
<li>怎么压缩成本，怎么扩大规模，怎么提高利润？</li>
<li>还能干哪些行业，怎么多元化，分散经营，分散风险？</li>
<li>怎么招人才为自己所用？</li>
<li>怎么跟人合伙？</li>
<li>怎么借助别人的资源来为自己所用？</li>
<li>这项业务的投入和产出比怎么样，值不值得投？</li>
<li>怎么进入厉害的圈子？</li>
<li>现在经济形势怎么样？</li>
<li>行业未来的走向、趋势怎么样，还能不能扩大规模？</li>
<li>每天必须关注财经新闻</li>
<li>当主业很难再有什么大的发展的时候，会努力找新的项目</li>
<li>想投，但钱又不够的时候，怎么去找投资？</li>
<li>如何不用自己的钱就可以创业？</li>
<li>怎么利用老乡、同学、朋友等关系网去做自己的业务？</li>
<li>哪些活动、论坛值得去参加？</li>
<li>该买点什么充充面子？</li>
<li>小问题花点钱解决？</li>
<li>一个酒局，值不值得去参加？</li>
<li>要不要去读个MBA来充实一下自己？</li>
<li>什么事情离钱最近？</li>
<li>该怎么跟利益链的人分享利益？</li>
<li>怎么给客户送礼？</li>
<li>怎么在规则内玩转得风生水起？</li>
<li>如何布局，如何设局，如何破局？</li>
<li>用SWOT分析法来分析你的业务可以吗？</li>
<li>怎么深耕一个行业，怎么深耕一个市场？</li>
<li>怎么稳定优秀的员工？</li>
<li>怎么兼顾眼前利益和长远利益？</li>
<li>怎么放长线钓大鱼？</li>
<li>怎么兼并和收购同行？</li>
<li>怎么让子女接受更好的教育？</li>
<li>怎么培养子女做自己的接班人？</li>
<li>怎么把事情做好，怎么服务好客户？</li>
<li>你怎么知道你要干的这个东西能赚钱啊？</li>
<li>竞争对手都是谁啊？</li>
<li>你和竞争对手相比的优势有啥？</li>
<li>顾客为啥要想你买东西啊？</li>
<li>请你把你的生意全过程给我讲一遍？</li>
<li>你的生意如果按你的预测完全达到了目标，可以赚多少钱？</li>
<li>你的经营潜在的风险有哪些？给我详细解释一下</li>
<li>你打算如何控制你的风险？给我详细解释一下</li>
<li>你的成本构成有哪些？给我列举一下</li>
</ol>
<h2 id="破产"><a href="#破产" class="headerlink" title="破产"></a>破产</h2><p>公司创办不下去，经营不善破产了怎么办？下面是我对这个问题的记录：</p>
<p>企业倒闭一般会走以下程序：</p>
<ol>
<li>停业清算：企业停止经营，开始清算资产，清偿债务。</li>
<li>破产申请：如果企业无法清偿债务，可以向法院申请破产。</li>
<li>破产审理：法院会对破产申请进行审理，确定是否破产。</li>
<li>破产管理：法院会任命破产管理人管理企业资产，清偿债务。</li>
<li>资产处置：破产管理人会对企业的资产进行评估和处置，以尽可能地偿还债务。</li>
<li>债务清偿：根据法律规定，破产管理人会按照优先顺序清偿债务。</li>
<li>破产结案：当企业的债务得到清偿后，破产程序才能结束，企业也将被注销。</li>
</ol>
<p>如果破产管理人无法偿还债务，通常会采取以下措施：</p>
<ol>
<li>减少债务：破产管理人可以与债权人协商，尝试减少债务数额，以便更容易偿还。</li>
<li>减少资产：破产管理人可以出售企业的资产，以获得现金来偿还债务。但是，如果企业的资产不足以偿还所有债务，则需要优先偿还优先债权人，其余债权人将无法获得全部债务偿还。</li>
<li>申请债务重组：如果企业仍有潜力，破产管理人可以向法院申请债务重组，以重新组织企业并减少债务数额。</li>
<li>破产清算：如果以上措施都无法解决问题，破产管理人将会启动破产清算程序，以清算企业并分配资产给债权人。</li>
<li>法律援助：企业可以向法院申请法律援助，获得法律援助机构的帮助，包括法律咨询、代理诉讼等。</li>
</ol>
<p>注意：破产管理人无法偿还债务并不意味着个人破产，个人破产的程序与企业破产的程序不同。</p>
<p>独资企业破产时，老板个人财产和企业财产是不分离的，因此老板要承担企业债务的全部责任。如果债务过大，可能会导致老板个人破产。但是在中国，破产不等于刑事责任，老板不会因为企业破产而被判刑，除非老板涉嫌犯罪，如贪污、挪用资金等。但是，如果企业破产是由于老板的过错或违法行为导致的，如违法经营、贪污等，可能会被追究刑事责任。</p>
<p>注意：如果企业破产倒闭是由于经营不善、违法违规等原因导致的，企业的法定代表人、高管等相关责任人可能会面临法律责任，甚至可能会被追究刑事责任。因此，企业的法定代表人应当严格遵守法律法规，加强企业管理，防范风险，避免破产倒闭的发生。</p>
<h2 id="上市"><a href="#上市" class="headerlink" title="上市"></a>上市</h2><p>下面是我对上市产生的一些问题，询问chatgpt后得出的一些回答结果：</p>
<p>企业为什么要上市？</p>
<ol>
<li>资本募集：上市可以通过向公众发行股票来获得更多的资本，用于扩大业务、开发新产品、进行收购等。</li>
<li>提高知名度：上市可以提高企业的知名度和公众形象，有助于吸引更多的客户和合作伙伴。</li>
<li>增加流动性：上市后，公司股票可以在证券交易所上市交易，股东可以通过买卖股票来增加流动性和灵活性。</li>
<li>提高公司治理：上市公司需要遵守证券法规和交易所规定，强制要求公司建立更规范的公司治理结构和内部控制机制，提高公司的透明度和规范性。</li>
<li>激励员工：上市后，公司可以通过股票期权等方式激励员工，使员工更加积极地为公司创造价值。</li>
</ol>
<p>公司从创立到上市，一般经历以下几个阶段：</p>
<ol>
<li>创立阶段：创始人或创业团队开始策划和实施创业计划，成立公司，进行市场调研和产品研发。</li>
<li>种子轮融资：公司在创立初期需要资金支持，可以通过种子轮融资来获得初步资本，用于产品开发、市场推广等。</li>
<li>天使轮融资：公司初步验证产品市场需求后，需要进一步扩大规模，可以通过天使轮融资来获得更多资本支持，用于产品研发、市场推广等。</li>
<li>A轮融资：公司经过初步验证和市场推广后，需要进一步扩大规模和提高市场占有率，可以通过A轮融资来获得更多资本支持，用于产品研发、市场推广、人才引进等。</li>
<li>B轮融资：公司已经进入快速增长期，需要进一步扩大规模和提高市场占有率，可以通过B轮融资来获得更多资本支持，用于产品研发、市场推广、人才引进等。</li>
<li>C轮融资：公司已经成为行业领先者，需要进一步扩大规模和提高市场占有率，可以通过C轮融资来获得更多资本支持，用于产品研发、市场推广、人才引进等。</li>
<li>上市：公司经过多轮融资和快速发展，达到成熟期，可以通过上市来获得更多资本支持和市场认可，实现公司价值最大化。</li>
</ol>
<p>企业只有经历融资才能上市吗？</p>
<p>不一定。企业可以通过自筹资金或者盈利积累资金来进行上市。但是，融资可以帮助企业更快地扩大规模和增加市场份额，促进企业的发展。此外，融资还可以为企业提供更多的资源和资金支持，以应对竞争和市场变化的挑战。因此，融资通常是企业上市的重要途径之一。</p>
<p>企业上市后会经历以下几个阶段：</p>
<ol>
<li>初期阶段：企业上市后，需要加强投资者关系管理，提高财务透明度，加强企业治理，提高公司形象和信誉度。</li>
<li>持续增长阶段：企业上市后，需要保持业务的持续增长，提高市场占有率和竞争力，加大研发投入，推出新产品和服务。</li>
<li>战略转型阶段：企业上市后，需要不断调整和优化战略，适应市场变化和行业趋势，实现战略转型和升级。</li>
<li>国际化阶段：企业上市后，需要拓展国际市场，提高国际竞争力，加强国际合作和交流，实现全球化发展。</li>
<li>经营升级阶段：企业上市后，需要加强企业管理和运营，提高效率和质量，降低成本和风险，实现经营升级和转型升级。</li>
</ol>
<p>企业上市后怎样成为风投？</p>
<p>企业上市后成为风投，需要具备以下条件：</p>
<ol>
<li>具备一定的资本实力：上市公司通常具有较强的资本实力，能够为创业公司提供充足的资金支持。</li>
<li>具备丰富的经验和资源：上市公司通常拥有丰富的经验和资源，能够为创业公司提供专业的指导和支持。</li>
<li>具备良好的声誉和品牌影响力：上市公司的品牌影响力和声誉通常较高，能够为创业公司带来更多的机会和资源。</li>
<li>具备战略眼光和创新能力：上市公司通常具备更为开阔的战略眼光和创新能力，能够为创业公司提供更多的创新思路和战略支持。</li>
</ol>
<p>成为风投需要具备资本实力、经验和资源、声誉和品牌影响力、战略眼光和创新能力等多方面的优势。</p>
<p>企业上市后，对于创办企业的人，就算已经成功了吗？</p>
<p>企业上市只是一个里程碑，表示企业已经成功地通过股票市场融资，实现了对外资本的开放和股权的流通。但这并不代表创办企业的人已经成功了。在企业上市后，创办人需要继续关注企业的经营和发展，确保企业能够持续增长并保持竞争力。</p>
<p>此外，创办人需要注意以下几点：</p>
<ol>
<li>保持创业精神：企业上市并不代表创业者已经完成了使命，他们需要保持创业精神，不断创新和探索新的商业模式和市场机会。</li>
<li>管理风险：上市后，企业的风险管理变得更加重要。创办人需要关注市场、竞争和政策等方面的风险，采取适当的措施来应对风险。</li>
<li>管理股东关系：上市后，企业的股东结构会发生变化，创办人需要与股东保持良好的关系，确保股东满意并支持企业的发展。</li>
<li>管理企业形象：上市后，企业的形象和声誉对企业的发展至关重要。创办人需要关注企业形象和声誉，确保企业在市场中保持良好的形象和声誉。</li>
</ol>
<p>对于企业的创办人来说，怎样才算获得了成功？</p>
<p>对于企业的创办人来说，获得成功的标准因人而异，但通常有以下几个方面：</p>
<ol>
<li>财务成功：企业的盈利能力强，市值高，股东获得了高额回报。</li>
<li>市场成功：企业的产品或服务在市场上获得了广泛的认可和接受，成为行业内的领导者。</li>
<li>社会成功：企业在社会上获得了良好的声誉和口碑，为社会做出了贡献。</li>
<li>个人成功：企业的创办人在个人层面上获得了满足感和成就感，实现了自己的人生目标。</li>
</ol>
<p>综上所述，企业的创办人要综合考虑财务、市场、社会和个人等方面的表现，才能判断自己是否获得了成功。</p>
<p>以上就是我对创业的思考和记录了，希望看完后对你有所帮助~</p>

      </div>
      <div class="post-tags-categories">
        
        <div class="tags">
          
            <a href="/my-blog/tags/%E6%80%9D%E8%80%83/" class="">
              思考
            </a>
          
        </div>
        
      </div>
      
        <div class="copyright">
  <ul class="post-copyright">
    <li class="post-copyright-author">
    <strong>作者:  </strong>老顾</a>
    </li>
    <li class="post-copyright-link">
    <strong>文章链接:  </strong>
    <a href="/my-blog/2023/10/06/对创业的思考/" target="_blank" title="对创业的思考">https://gitee.com/coderlaogu/2023/10/06/对创业的思考/</a>
    </li>
    <li class="post-copyright-license">
      <strong>版权声明:   </strong>
      本网站所有文章除特别声明外,均采用 <a rel="license" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" target="_blank" title="Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)">CC BY-NC-ND 4.0</a>
      许可协议。转载请注明出处!
    </li>
  </ul>
<div>
      
    </article>
    <!-- 上一篇文章和下一篇文章 -->
    
      <!-- 文章详情页的上一页和下一页 -->
<div class="post-nav">



  
  <div class="post-nav-prev post-nav-item">
    <div class="post-nav-img" style="background-size: cover; 
      background-position: center center;">
      <img class="lazyload lazyload placeholder" src="https://pic2.zhimg.com/80/v2-e22aaad20d20634f506f57fff0fcbc17_1440w.webp" class="lazyload placeholder" data-srcset="https://pic2.zhimg.com/80/v2-e22aaad20d20634f506f57fff0fcbc17_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
    </div>
    <a href="/my-blog/2023/10/31/%E3%80%8A%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" class="post-nav-link">
      <div class="title">
        <i class="fas fa-angle-left"></i> 上一篇:
        <div class="title-text">《阿里巴巴Java开发手册》读书笔记</div>
      </div>
      
      <!-- <div class="content">
        基本信息作者：阿里巴巴团队
类别：技术
推荐指数：⭐️⭐️⭐️⭐️⭐️
简介：《阿里巴巴Java开发手册》是阿里巴巴集团
      </div> -->
    </a>
  </div>



  
  <div class="post-nav-next post-nav-item">
    <div class="post-nav-img" style="background-size: cover; 
      background-position: center center;">
      <img class="lazyload lazyload placeholder" src="https://pic3.zhimg.com/v2-85f45dcb3558ff9b33bf17bb02572434_r.jpg" class="lazyload placeholder" data-srcset="https://pic3.zhimg.com/v2-85f45dcb3558ff9b33bf17bb02572434_r.jpg" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" src="" alt="">
    </div>
    <a href="/my-blog/2023/10/05/%E9%A9%AC%E6%96%AF%E6%B4%9B%E9%9C%80%E6%B1%82%E6%A8%A1%E5%9E%8B%E7%A0%94%E7%A9%B6/" class="post-nav-link">
      <div class="title">
        下一篇: <i class="fas fa-angle-right"></i>
        <div class="title-text">马斯洛需求模型研究</div>
      </div>
      <!-- <div class="content">
        马斯洛需求模型主要有这几层：生理需求层、安全需求层、社交需求层、尊重需求层、自我实现需求层，以下是我结合询问chatgp
      </div> -->
    </a>
  </div>

</div>

    
    

    <!-- 打赏 -->
    
      <div id="appDonate" class="post-donate">
  <div id="donate_board" class="donate_bar center" ref="donate">
    <a id="btn_donate" class="btn_donate" href="javascript:;" title="打赏" @click="showDialogDrawer()"></a>
  </div>
  <transition name="fade">
    <div 
      class="donate-box-mask"
      v-cloak 
      v-show="visible"
      @click="cancelDialogDrawer()"
    >
    </div>
  </transition>
  <transition name="bounce">
    <div class="donate-box" v-cloak v-show="visible">
      <div class="donate-box_close">
        <i class="fas fa-times" aria-hidden="true" @click="cancelDialogDrawer" pointer></i>
      </div>
      <div class="donate-box_title">
        <h4>
          你的赏识是我前进的动力
        </h4>
      </div>
      <div class="donate-box_tab">
        <div class="Alipay" pointer :class="{'active': tabActive === 'Alipay'}" @click="changeTabActive('Alipay')">
          支付宝
        </div>
        <div class="WeChatpay" pointer :class="{'active': tabActive === 'WeChatpay'}" @click="changeTabActive('WeChatpay')">
          微信
        </div>
      </div>
      <div class="donate-box_img">
        <div class="AlipayImg" v-show="tabActive === 'Alipay'">
          <img src="https://pic1.zhimg.com/80/v2-79829ed763f645e036b1256fe8ff2138_1440w.webp" class="lazyload placeholder" data-srcset="https://pic1.zhimg.com/80/v2-79829ed763f645e036b1256fe8ff2138_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="支付宝打赏" />
        </div> 
        <div class="WeChatpayImg" v-show="tabActive === 'WeChatpay'">
          <img src="https://pic4.zhimg.com/80/v2-bd6a4a089110697b1473add0e6006603_1440w.webp" class="lazyload placeholder" data-srcset="https://pic4.zhimg.com/80/v2-bd6a4a089110697b1473add0e6006603_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="微信打赏" />
        </div>
      </div>
    </div>
  </transition>
</div>

<script>
  var body = document.body || document.documentElement || window;
  var vm = new Vue({
    el: '#appDonate',
    data: {
      visible: false,
      tabActive: 'Alipay',
      top: 0,
    },
    computed: {
    },
    mounted() {
    },
    methods: {
      showDialogDrawer() {
        this.visible = true;
        // 防止页面滚动，只能让弹框滚动
        // function getScroll() {
        //   return {
        //     left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
        //     top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
        //   };
        // }
        this.top = $(document).scrollTop() // or getScroll().top
        // console.log('aa', $('.main-content'));
        body.style.cssText = 'overflow: hidden;';
      },
      cancelDialogDrawer() {
        this.visible = false;
        body.removeAttribute('style');
        $(document).scrollTop(this.top)
      },
      changeTabActive(name) {
        this.tabActive = name;
      }
    },
    created() {}
  })
</script>
    

    <!-- 分享 -->
    
      <!-- https://github.com/overtrue/share.js -->
<!-- 文章详情页的分享 -->
<div class="social-share" data-sites="twitter,facebook,google,qq,qzone,wechat,weibo,douban,linkedin" data-wechat-qrcode-helper="<p>微信扫一扫即可分享！</p>"></div>

<script src="/my-blog/js/shareJs/social-share.min.js"></script>
</script>

<style>
  .social-share {
    margin: 20px 0;
  }
</style>


    
    
    <!-- 评论 -->
    <!-- 评论 -->

  <div id="myComment">
    
      
<section id="comments" style="padding: 1em;"
	class="animated bounceInUp">
	<div id="vcomment" class="comment"></div>
</section>
<style>
	#comments {
		background: rgba(255,255,255,0.9);
	}
	#veditor {
		background-image: url('https://img.zcool.cn/community/01a253594c71cfa8012193a329a77f.gif');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: right;
		background-color: rgba(255, 255, 255, 0);
		resize: vertical;
	}
	#veditor:focus{
		background-position-y: 200px;
		transition: all 0.2s ease-in-out 0s;
	}
	#vcomment .vcards .vcard .vh .vhead .vtag.vvisitor {
		background-color: #42b983;
	}
	.v[data-class=v] .vbtn:active, .v[data-class=v] .vbtn:hover {
		color: #42b983;
		border-color: #42b983;
	}
	#vcomment .vcards .vcard .vhead .vsys i {
		display: none;
	}
	/* 底部valine链接 */
	#vcomment .vpower {
		display: none;
	}
	
	/* 底下注释是修改 名称和邮箱和网址输入框的样式 */
	/* #vcomment .vheader {
		display: flex;
		justify-content: space-around;
	}
	
	#vcomment .vheader .vnick {
		width: 31%;
		border: 2px solid #dedede;
		padding-left: 10px;
		padding-right: 10px;
		border-radius: 5px
	}

	#vcomment .vheader .vmail {
		width: 31%;
		border: 2px solid #dedede;
		padding-left: 10px;
		padding-right: 10px;
		border-radius: 5px
	}

	#vcomment .vheader .vlink {
		width: 31%;
		border: 2px solid #dedede;
		padding-left: 10px;
		padding-right: 10px;
		border-radius: 5px
	} */

	img.vimg {
		transition: all 1s;
		/* 头像旋转时间为 1s */
	}

	img.vimg:hover {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
	}

	#vcomment .vcards .vcard {
		padding: 15px 20px 0 20px;
		border-radius: 10px;
		margin-bottom: 15px;
		box-shadow: 0 0 4px 1px rgba(0, 0, 0, .12);
		transition: all .3s
	}

	#vcomment .vcards .vcard:hover {
		box-shadow: 0 0 8px 3px rgba(0, 0, 0, .12)
	}

	#vcomment .vcards .vcard .vh .vcard {
		border: none;
		box-shadow: none;
	}
</style>
    
  </div>

<!-- comment script in themes\hexo-theme-bamboo\layout\_partial\scripts\index.ejs -->


  </div>

  <!-- 目录 -->
  <aside id='l_side'>
  
    
      <section class="widget side_blogger">
  <div class='content'>
    
      
        <a class='avatar flat-box rectangle' href='/my-blog/about/'>
          <img src='https://pic1.zhimg.com/80/v2-51056addfd1a60b4d1de1546af250e88_1440w.webp'/>
        </a>
      
    
    
      <div class='text'>
        
          <h2>见自己，见天地，见众生，见道</h2>
        
        
        
          <p><span id="jinrishici-sentence">老顾的个人博客网站</span></p>
          <script src="https://sdk.jinrishici.com/v2/browser/jinrishici.js" charset="utf-8"></script>
        
      </div>
    
    
      <div class="social-wrapper">
        
          
            <a href="/my-blog/atom.xml"
              class="social fas fa-rss flat-btn"
              target="_blank"
              rel="external nofollow noopener noreferrer">
              
            </a>
          
        
          
            <a href="/my-blog/gu15328965713@gmail.com"
              class="social fas fa-envelope flat-btn"
              target="_blank"
              rel="external nofollow noopener noreferrer">
              
            </a>
          
        
          
            <a href="https://github.com/Engineer-Gu"
              class="social fab fa-github flat-btn"
              target="_blank"
              rel="external nofollow noopener noreferrer">
              
            </a>
          
        
          
            <a href="tencent://AddContact/?fromId=50&amp;fromSubId=1&amp;subcmd=all&amp;uin=1437594522"
              class="social fab fa-qq flat-btn"
              target="_blank"
              rel="external nofollow noopener noreferrer">
              
            </a>
          
        
      </div>
    
  </div>
</section>

    
  
  
  
    
  

  <div class="layout_sticky">    
    
      
<section class="widget side_toc">
  
  <header>
    
      <i style="color: " class="fas fa-list fa-fw" aria-hidden="true"></i><span class='name' style="color: ">本文目录</span>
    
  </header>


  <div class='content'>
    <div class="toc-main">
      <div class="toc-content">
        <!-- <ol class="toc"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%89%8D%E7%BD%AE"><span class="toc-text">前置</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%9C%9F%E6%AD%A3%E5%88%9B%E4%B8%9A%E5%89%8D%E4%BC%9A%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85"><span class="toc-text">真正创业前会做的事情</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%88%9B%E4%B8%9A%E6%88%90%E6%9C%AC%E5%81%87%E8%AE%BE%E6%A0%B8%E7%AE%97"><span class="toc-text">创业成本假设核算</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AF%B9%E5%85%AC%E5%8F%B8%E7%BB%8F%E8%90%A5%E7%9A%84%E6%80%9D%E8%80%83"><span class="toc-text">对公司经营的思考</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E5%AF%B9%E5%88%9B%E4%B8%9A%E7%9B%B8%E5%85%B3%E6%95%B4%E7%90%86%E7%9A%84%E9%97%AE%E9%A2%98"><span class="toc-text">对创业相关整理的问题</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E7%A0%B4%E4%BA%A7"><span class="toc-text">破产</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%B8%8A%E5%B8%82"><span class="toc-text">上市</span></a></li></ol> -->
        <div class="toc"></div>
      </div>
    </div>
  </div>
</section>
<!-- 手机端目录按钮 -->
<div id="toc-mobile-btn">
  <i class="fas fa-list-ul" aria-hidden="true"></i>
</div>

      
  <section class="widget side_recent_post">
    
  <header>
    
      <a style="color: " href='/tags/'><i class="fas fa-book fa-fw" aria-hidden="true"></i><span class='name'>最新文章</span></a>
    
  </header>


    <div class='content'>
      
      <!-- hash算法 -->
      
      <div class="aside-list">
        
          <div class="aside-list-item">
            
            
            

            <div class="post-img-box">
              <a href="/my-blog/2024/03/15/%E5%B0%86%E5%89%8D%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2%E5%9C%A8%E6%9C%AC%E5%9C%B0%20Docker%20%E4%B8%8A/" class="post-img " style="background-size: cover; 
                background-position: center center;">
                <img class="lazyload lazyload placeholder" style="width:100%;height:100%;object-fit:cover;" data-src="https://pica.zhimg.com/v2-4aeccd941d89a30c21e31a4ea393f21a_r.jpg" class="lazyload placeholder" data-srcset="https://pica.zhimg.com/v2-4aeccd941d89a30c21e31a4ea393f21a_r.jpg" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
              </a>
            </div>
            <div class="post-date-title">
              <div>
                
                  <span class="post-date">03-15</span>
                
              </div>
              <a class="post-title" href="/my-blog/2024/03/15/%E5%B0%86%E5%89%8D%E5%90%8E%E7%AB%AF%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2%E5%9C%A8%E6%9C%AC%E5%9C%B0%20Docker%20%E4%B8%8A/">将前后端项目部署在本地 Docker 上</a>
            </div>
          </div>
        
          <div class="aside-list-item">
            
            
            

            <div class="post-img-box">
              <a href="/my-blog/2024/02/14/%E6%96%87%E4%BB%B6%E5%AF%BC%E5%87%BA%E4%B8%8B%E8%BD%BD%E9%9C%80%E6%B1%82%E5%89%8D%E5%90%8E%E7%AB%AF%E5%AE%9E%E7%8E%B0/" class="post-img " style="background-size: cover; 
                background-position: center center;">
                <img class="lazyload lazyload placeholder" style="width:100%;height:100%;object-fit:cover;" data-src="https://picx.zhimg.com/80/v2-b44931ea513e5f7b3b06f2703f79653c_1440w.webp" class="lazyload placeholder" data-srcset="https://picx.zhimg.com/80/v2-b44931ea513e5f7b3b06f2703f79653c_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
              </a>
            </div>
            <div class="post-date-title">
              <div>
                
                  <span class="post-date">02-14</span>
                
              </div>
              <a class="post-title" href="/my-blog/2024/02/14/%E6%96%87%E4%BB%B6%E5%AF%BC%E5%87%BA%E4%B8%8B%E8%BD%BD%E9%9C%80%E6%B1%82%E5%89%8D%E5%90%8E%E7%AB%AF%E5%AE%9E%E7%8E%B0/">文件导出下载需求前后端实现</a>
            </div>
          </div>
        
          <div class="aside-list-item">
            
            
            

            <div class="post-img-box">
              <a href="/my-blog/2024/01/30/%E5%9F%BA%E4%BA%8EMinIO%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E4%B8%8B%E8%BD%BD/" class="post-img " style="background-size: cover; 
                background-position: center center;">
                <img class="lazyload lazyload placeholder" style="width:100%;height:100%;object-fit:cover;" data-src="https://pic4.zhimg.com/80/v2-83ea273b88e119d9615aed0d89aad4ab_1440w.webp" class="lazyload placeholder" data-srcset="https://pic4.zhimg.com/80/v2-83ea273b88e119d9615aed0d89aad4ab_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
              </a>
            </div>
            <div class="post-date-title">
              <div>
                
                  <span class="post-date">01-30</span>
                
              </div>
              <a class="post-title" href="/my-blog/2024/01/30/%E5%9F%BA%E4%BA%8EMinIO%E5%AE%9E%E7%8E%B0%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0%E4%B8%8B%E8%BD%BD/">基于MinIO实现文件上传下载</a>
            </div>
          </div>
        
          <div class="aside-list-item">
            
            
            

            <div class="post-img-box">
              <a href="/my-blog/2023/12/24/%E3%80%8A%E5%A4%A7%E5%9E%8B%E7%BD%91%E7%AB%99%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" class="post-img " style="background-size: cover; 
                background-position: center center;">
                <img class="lazyload lazyload placeholder" style="width:100%;height:100%;object-fit:cover;" data-src="https://pica.zhimg.com/v2-e466c5ffb776c583588566c4297de880_r.jpg" class="lazyload placeholder" data-srcset="https://pica.zhimg.com/v2-e466c5ffb776c583588566c4297de880_r.jpg" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
              </a>
            </div>
            <div class="post-date-title">
              <div>
                
                  <span class="post-date">12-24</span>
                
              </div>
              <a class="post-title" href="/my-blog/2023/12/24/%E3%80%8A%E5%A4%A7%E5%9E%8B%E7%BD%91%E7%AB%99%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/">《大型网站技术架构》读书笔记</a>
            </div>
          </div>
        
          <div class="aside-list-item">
            
            
            

            <div class="post-img-box">
              <a href="/my-blog/2023/11/06/%E3%80%8A%E7%A8%8B%E5%BA%8F%E5%91%98%E4%BF%AE%E7%82%BC%E4%B9%8B%E9%81%93-%E4%BB%8E%E5%B0%8F%E5%B7%A5%E5%88%B0%E4%B8%93%E5%AE%B6%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" class="post-img " style="background-size: cover; 
                background-position: center center;">
                <img class="lazyload lazyload placeholder" style="width:100%;height:100%;object-fit:cover;" data-src="https://picx.zhimg.com/80/v2-85c31120acff76826ab53ea8934ef4bb_1440w.webp" class="lazyload placeholder" data-srcset="https://picx.zhimg.com/80/v2-85c31120acff76826ab53ea8934ef4bb_1440w.webp" srcset="https://pic1.zhimg.com/v2-cd38920285d125be80b3eb504052c550_b.webp" alt="">
              </a>
            </div>
            <div class="post-date-title">
              <div>
                
                  <span class="post-date">11-06</span>
                
              </div>
              <a class="post-title" href="/my-blog/2023/11/06/%E3%80%8A%E7%A8%8B%E5%BA%8F%E5%91%98%E4%BF%AE%E7%82%BC%E4%B9%8B%E9%81%93-%E4%BB%8E%E5%B0%8F%E5%B7%A5%E5%88%B0%E4%B8%93%E5%AE%B6%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/">《程序员修炼之道:从小工到专家》读书笔记</a>
            </div>
          </div>
        
      </div>
    </div>
  </section>

    
  </div>
</aside>

  <!-- 图片放大 Wrap images with fancybox support -->
  <script src="/my-blog/js/wrapImage.js"></script>
</div>

<!-- 文章详情页背景图 -->
<div id="appBgSwiper" style="position: fixed;left: 0;top: 0;width: 100%;height: 100%;z-index: -2;"
	:style="{'background-color': bgColor ? bgColor : 'transparent'}">
	<transition-group tag="ul" :name="names">
		<li v-for='(image,index) in img' :key='index' v-show="index === mark" class="bg-swiper-box">
			<img :src="image" class="bg-swiper-img no-lazy">
		</li>
	</transition-group>
</div>
<script>
	var vm = new Vue({
		el: '#appBgSwiper',
		data: {
			names: '' || 'fade' || 'fade', // translate-fade fade
			mark: 0,
			img: [],
			bgColor: '',
			time: null
		},
		methods: {   //添加方法
			change(i, m) {
				if (i > m) {
					// this.names = 'fade';
				} else if (i < m) {
					// this.names = 'fade';
				} else {
					return;
				}
				this.mark = i;
			},
			prev() {
				// this.names = 'fade';
				this.mark--;
				if (this.mark === -1) {
					this.mark = 3;
					return
				}
			},
			next() {
				// this.names = 'fade';
				this.mark++;
				if (this.mark === this.img.length) {
					this.mark = 0;
					return
				}
			},
			autoPlay() {
				// this.names = 'fade';
				this.mark++;
				if (this.mark === this.img.length) {
					this.mark = 0;
					return
				}
			},
			play() {
				let bgImgDelay = '' || '180000'
				let delay = parseInt(bgImgDelay) || 180000;
				this.time = setInterval(this.autoPlay, delay);
			},
			enter() {
				clearInterval(this.time);
			},
			leave() {
				this.play();
			}
		},
		created() {
			this.play()
		},
		beforeDestroy() {
			clearInterval(this.time);
		},
		mounted() {
			let prop = '' || '';
			let isImg = prop.includes('.bmp') || prop.includes('.jpg') || prop.includes('.png') || prop.includes('.tif') || prop.includes('.gif') || prop.includes('.pcx') || prop.includes('.tga') || prop.includes('.exif') || prop.includes('.fpx') || prop.includes('.psd') || prop.includes('.cdr') || prop.includes('.pcd') || prop.includes('.dxf') || prop.includes('.ufo') || prop.includes('.eps') || prop.includes('.ai') || prop.includes('.raw') || prop.includes('.WMF') || prop.includes('.webp') || prop.includes('.jpeg') || prop.includes('http://') || prop.includes('https://')
			if (isImg) {
				let img = prop.split(',');
				let configRoot = '/my-blog/'
				let arrImg = [];
				img.forEach(el => {
					var Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
					var objExp = new RegExp(Expression);

					if (objExp.test(el)) {
						// http or https
						arrImg.push(el);
					} else {
						// 非http or https开头
						// 本地文件
						let firstStr = el.charAt(0);
						if (firstStr == '/') {
							el = el.substr(1); // 删除第一个字符 '/',因为 configRoot最后一个字符为 /
						}
						el = configRoot + el;
						arrImg.push(el);
					}
				})
				this.img = arrImg;
			} else {
				this.bgColor = prop;
			}
		}
	})
</script>

<style>
	.bg-swiper-box {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
	}

	.bg-swiper-img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
</style>




  <script>
  function loadMermaid() {
    if (document.getElementsByClassName('mermaid').length) {
      if (window.mermaidJsLoad) mermaid.init()
      else {
        loadScript('https://unpkg.com/mermaid/dist/mermaid.min.js').then(() => {
          window.mermaidJsLoad = true
          mermaid.initialize({
            theme: 'default',
          })
          if ('true') {
            mermaid.init();
          }
        })
      }
    }
  };
  document.addEventListener("DOMContentLoaded", function () {
    loadMermaid();
  })

  document.addEventListener('pjax:complete', function () {
    loadMermaid();
  })
  
</script>


      </main>
    </div>

    <!-- 页脚 -->
    
  
  
    <!-- 底部鱼儿跳动效果，依赖于jquery-->
<div id="j-fish-skip" style=" position: relative;height: 153px;width: auto;"></div>
<script>
  var RENDERER = {
    POINT_INTERVAL: 5,
    FISH_COUNT: 3,
    MAX_INTERVAL_COUNT: 50,
    INIT_HEIGHT_RATE: .5,
    THRESHOLD: 50,
    FISH_COLOR: '',
    init: function () {
      this.setFishColor(); this.setParameters(), this.reconstructMethods(), this.setup(), this.bindEvent(), this.render()
    },
    setFishColor: function () {
      let isDark = JSON.parse(localStorage.getItem('dark')) || JSON.parse('false');
      if (isDark) {
        this.FISH_COLOR = '#222'; // 暗黑色，有时间把这整成一个变量
      } else {
        this.FISH_COLOR = '' || 'rgba(66, 185, 133, 0.8)';
      }
    },
    setParameters: function () {
      this.$window = $(window), this.$container = $("#j-fish-skip"), this.$canvas = $("<canvas />"), this.context = this.$canvas.appendTo(this.$container).get(0).getContext("2d"), this.points = [], this.fishes = [], this.watchIds = []
    },
    createSurfacePoints: function () {
      var t = Math.round(this.width / this.POINT_INTERVAL);
      this.pointInterval = this.width / (t - 1), this.points.push(new SURFACE_POINT(this, 0));
      for (var i = 1; i < t; i++) {
        var e = new SURFACE_POINT(this, i * this.pointInterval),
          h = this.points[i - 1];
        e.setPreviousPoint(h), h.setNextPoint(e), this.points.push(e)
      }
    },
    reconstructMethods: function () {
      this.watchWindowSize = this.watchWindowSize.bind(this), this.jdugeToStopResize = this.jdugeToStopResize.bind(this), this.startEpicenter = this.startEpicenter.bind(this), this.moveEpicenter = this.moveEpicenter.bind(this), this.reverseVertical = this.reverseVertical.bind(this), this.render = this.render.bind(this)
    },
    setup: function () {
      this.points.length = 0, this.fishes.length = 0, this.watchIds.length = 0, this.intervalCount = this.MAX_INTERVAL_COUNT, this.width = this.$container.width(), this.height = this.$container.height(), this.fishCount = this.FISH_COUNT * this.width / 500 * this.height / 500, this.$canvas.attr({
        width: this.width,
        height: this.height
      }), this.reverse = !1, this.fishes.push(new FISH(this)), this.createSurfacePoints()
    },
    watchWindowSize: function () {
      this.clearTimer(), this.tmpWidth = this.$window.width(), this.tmpHeight = this.$window.height(), this.watchIds.push(setTimeout(this.jdugeToStopResize, this.WATCH_INTERVAL))
    },
    clearTimer: function () {
      for (; this.watchIds.length > 0;) clearTimeout(this.watchIds.pop())
    },
    jdugeToStopResize: function () {
      var t = this.$window.width(),
        i = this.$window.height(),
        e = t == this.tmpWidth && i == this.tmpHeight;
      this.tmpWidth = t, this.tmpHeight = i, e && this.setup()
    },
    bindEvent: function () {
      this.$window.on("resize", this.watchWindowSize), this.$container.on("mouseenter", this.startEpicenter), this.$container.on("mousemove", this.moveEpicenter)
    },
    getAxis: function (t) {
      var i = this.$container.offset();
      return {
        x: t.clientX - i.left + this.$window.scrollLeft(),
        y: t.clientY - i.top + this.$window.scrollTop()
      }
    },
    startEpicenter: function (t) {
      this.axis = this.getAxis(t)
    },
    moveEpicenter: function (t) {
      var i = this.getAxis(t);
      this.axis || (this.axis = i), this.generateEpicenter(i.x, i.y, i.y - this.axis.y), this.axis = i
    },
    generateEpicenter: function (t, i, e) {
      if (!(i < this.height / 2 - this.THRESHOLD || i > this.height / 2 + this.THRESHOLD)) {
        var h = Math.round(t / this.pointInterval);
        h < 0 || h >= this.points.length || this.points[h].interfere(i, e)
      }
    },
    reverseVertical: function () {
      this.reverse = !this.reverse;
      for (var t = 0, i = this.fishes.length; t < i; t++) this.fishes[t].reverseVertical()
    },
    controlStatus: function () {
      for (var t = 0, i = this.points.length; t < i; t++) this.points[t].updateSelf();
      for (t = 0, i = this.points.length; t < i; t++) this.points[t].updateNeighbors();
      this.fishes.length < this.fishCount && 0 == --this.intervalCount && (this.intervalCount = this.MAX_INTERVAL_COUNT, this.fishes.push(new FISH(this)))
    },
    render: function () {
      requestAnimationFrame(this.render), this.controlStatus(), this.context.clearRect(0, 0, this.width, this.height), this.context.fillStyle = this.FISH_COLOR;
      for (var t = 0, i = this.fishes.length; t < i; t++) this.fishes[t].render(this.context);
      this.context.save(), this.context.globalCompositeOperation = "xor", this.context.beginPath(), this.context.moveTo(0, this.reverse ? 0 : this.height);
      for (t = 0, i = this.points.length; t < i; t++) this.points[t].render(this.context);
      this.context.lineTo(this.width, this.reverse ? 0 : this.height), this.context.closePath(), this.context.fill(), this.context.restore()
    }
  },
  SURFACE_POINT = function (t, i) {
    this.renderer = t, this.x = i, this.init()
  };
  SURFACE_POINT.prototype = {
    SPRING_CONSTANT: .03,
    SPRING_FRICTION: .9,
    WAVE_SPREAD: .3,
    ACCELARATION_RATE: .01,
    init: function () {
      this.initHeight = this.renderer.height * this.renderer.INIT_HEIGHT_RATE, this.height = this.initHeight, this.fy = 0, this.force = {
        previous: 0,
        next: 0
      }
    },
    setPreviousPoint: function (t) {
      this.previous = t
    },
    setNextPoint: function (t) {
      this.next = t
    },
    interfere: function (t, i) {
      this.fy = this.renderer.height * this.ACCELARATION_RATE * (this.renderer.height - this.height - t >= 0 ? -1 : 1) * Math.abs(i)
    },
    updateSelf: function () {
      this.fy += this.SPRING_CONSTANT * (this.initHeight - this.height), this.fy *= this.SPRING_FRICTION, this.height += this.fy
    },
    updateNeighbors: function () {
      this.previous && (this.force.previous = this.WAVE_SPREAD * (this.height - this.previous.height)), this.next && (this.force.next = this.WAVE_SPREAD * (this.height - this.next.height))
    },
    render: function (t) {
      this.previous && (this.previous.height += this.force.previous, this.previous.fy += this.force.previous), this.next && (this.next.height += this.force.next, this.next.fy += this.force.next), t.lineTo(this.x, this.renderer.height - this.height)
    }
  };
  var FISH = function (t) {
    this.renderer = t, this.init()
  };
  FISH.prototype = {
    GRAVITY: .4,
    init: function () {
      this.direction = Math.random() < .5, this.x = this.direction ? this.renderer.width + this.renderer.THRESHOLD : -this.renderer.THRESHOLD, this.previousY = this.y, this.vx = this.getRandomValue(4, 10) * (this.direction ? -1 : 1), this.renderer.reverse ? (this.y = this.getRandomValue(1 * this.renderer.height / 10, 4 * this.renderer.height / 10), this.vy = this.getRandomValue(2, 5), this.ay = this.getRandomValue(.05, .2)) : (this.y = this.getRandomValue(6 * this.renderer.height / 10, 9 * this.renderer.height / 10), this.vy = this.getRandomValue(-5, -2), this.ay = this.getRandomValue(-.2, -.05)), this.isOut = !1, this.theta = 0, this.phi = 0
    },
    getRandomValue: function (t, i) {
      return t + (i - t) * Math.random()
    },
    reverseVertical: function () {
      this.isOut = !this.isOut, this.ay *= -1
    },
    controlStatus: function (t) {
      this.previousY = this.y, this.x += this.vx, this.y += this.vy, this.vy += this.ay, this.renderer.reverse ? this.y > this.renderer.height * this.renderer.INIT_HEIGHT_RATE ? (this.vy -= this.GRAVITY, this.isOut = !0) : (this.isOut && (this.ay = this.getRandomValue(.05, .2)), this.isOut = !1) : this.y < this.renderer.height * this.renderer.INIT_HEIGHT_RATE ? (this.vy += this.GRAVITY, this.isOut = !0) : (this.isOut && (this.ay = this.getRandomValue(-.2, -.05)), this.isOut = !1), this.isOut || (this.theta += Math.PI / 20, this.theta %= 2 * Math.PI, this.phi += Math.PI / 30, this.phi %= 2 * Math.PI), this.renderer.generateEpicenter(this.x + (this.direction ? -1 : 1) * this.renderer.THRESHOLD, this.y, this.y - this.previousY), (this.vx > 0 && this.x > this.renderer.width + this.renderer.THRESHOLD || this.vx < 0 && this.x < -this.renderer.THRESHOLD) && this.init()
    },
    render: function (t) {
      t.save(), t.translate(this.x, this.y), t.rotate(Math.PI + Math.atan2(this.vy, this.vx)), t.scale(1, this.direction ? 1 : -1), t.beginPath(), t.moveTo(-30, 0), t.bezierCurveTo(-20, 15, 15, 10, 40, 0), t.bezierCurveTo(15, -10, -20, -15, -30, 0), t.fill(), t.save(), t.translate(40, 0), t.scale(.9 + .2 * Math.sin(this.theta), 1), t.beginPath(), t.moveTo(0, 0), t.quadraticCurveTo(5, 10, 20, 8), t.quadraticCurveTo(12, 5, 10, 0), t.quadraticCurveTo(12, -5, 20, -8), t.quadraticCurveTo(5, -10, 0, 0), t.fill(), t.restore(), t.save(), t.translate(-3, 0), t.rotate((Math.PI / 3 + Math.PI / 10 * Math.sin(this.phi)) * (this.renderer.reverse ? -1 : 1)), t.beginPath(), this.renderer.reverse ? (t.moveTo(5, 0), t.bezierCurveTo(10, 10, 10, 30, 0, 40), t.bezierCurveTo(-12, 25, -8, 10, 0, 0)) : (t.moveTo(-5, 0), t.bezierCurveTo(-10, -10, -10, -30, 0, -40), t.bezierCurveTo(12, -25, 8, -10, 0, 0)), t.closePath(), t.fill(), t.restore(), t.restore(), this.controlStatus(t)
    }
  }, $(function () {
    RENDERER.init()
    $('.dark').click(function () {
      setTimeout(() => {
        RENDERER.setFishColor();
        RENDERER.context.fill();
      });
    })
  });
</script>
  
  <div class="footer bg-color">
    <div class="footer-main">
      
        
          <div class="link">
            
              
                <a href="/my-blog/atom.xml" class="social">
                  
                    <i class="fas fa-rss" aria-hidden="true"></i>
                  
                </a>
              
            
              
                <a href="mailto:1437594522@qq.com" class="social">
                  
                    <i class="fas fa-envelope" aria-hidden="true"></i>
                  
                </a>
              
            
              
                <a target="_blank" rel="noopener" href="https://github.com/Engineer-Gu" class="social">
                  
                    <i class="fab fa-github" aria-hidden="true"></i>
                  
                </a>
              
            
              
                <a href="tencent://AddContact/?fromId=50&amp;fromSubId=1&amp;subcmd=all&amp;uin=1437594522" class="social">
                  
                    <i class="fab fa-qq" aria-hidden="true"></i>
                  
                </a>
              
            
          </div>
        
      
        
          <div class="footer-copyright">
            <p>Copyright © 2019 - 2024 <a target="_blank" rel="noopener" href="https://github.com/Engineer-Gu">老顾</a> </p>

          </div>
        
      
    </div>
  </div>



    <!-- 渲染暗黑按钮 -->
    
      <div class="dark">
  <div class="dark-content">
    <i class="fas fa-moon" aria-hidden="true"></i>
    <!-- <span>关灯</span> -->
  </div>
  
</div>

<script>
  $(function() {
    let isDark = JSON.parse(localStorage.getItem('dark'))  || JSON.parse('false');
    if (isDark) {
      $(".dark-content").replaceWith(
          `
          <div class='dark-content'>
            <i class="fas fa-lightbulb" aria-hidden="true"></i>
          </div>
          `
        );
    }
    $('.dark').click(function() {
      if ($(document.body).is('.darkModel')) {
        $(document.body).removeClass('darkModel');
        localStorage.setItem('dark', false);
        $(".dark-content").replaceWith(
          `
          <div class='dark-content'>
            <i class="fas fa-moon" aria-hidden="true"></i>
          </div>
          `
        );
      } else {
        $(document.body).addClass('darkModel');
        localStorage.setItem('dark', true);
        $(".dark-content").replaceWith(
          `
          <div class='dark-content'>
            <i class="fas fa-lightbulb" aria-hidden="true"></i>
          </div>
          `
        );
      }
    })
  })
</script>
    
    <!-- 渲染回到顶部按钮 -->
    
      <div class="goTop top-btn-color" pointer>
  <i class="fas fa-arrow-up" aria-hidden="true"></i>
</div>
<script src="/my-blog/js/goTop.js"></script>

    
    <!-- 渲染左下角音乐播放器 -->
    
      <link rel="stylesheet" href="/my-blog/js/aplayer/APlayer@1.10.1.min.css">
<style>
.aplayer .aplayer-lrc p {
  
  display: none;
  
  font-size: 12px;
  font-weight: 700;
  line-height: 16px !important;
}

.aplayer .aplayer-lrc p.aplayer-lrc-current {
  
  display: none;
  
  font-size: 15px;
  color: #42b983;
}


.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body {
  left: -66px !important;
}

.aplayer.aplayer-fixed.aplayer-narrow .aplayer-body:hover {
  left: 0px !important;
}


</style>
<meting-js  
  class=""
  server="tencent"
  type="playlist"
  id="8062553743"
  fixed='true'
  autoplay='false'
  theme='#42b983'
  loop='all'
  order='random'
  preload='auto'
  volume='0.7'
  list-folded='true'
>
</meting-js>

<!-- <style>
  #aplayer {
    position: fixed;
    left: 0;
    bottom: 300px;
  }
</style> -->
<script src="https://unpkg.com/aplayer@1.10.1/dist/APlayer.min.js"></script>
<script src="https://unpkg.com/meting@2/dist/Meting.min.js"></script>
    

    <!-- 图片放大 -->
    
      <script src="/my-blog/js/fancybox/jquery.fancybox.min.js"></script>
    

    <!-- 百度解析 -->
    <!-- Baidu Analytics -->

    <!-- Baidu Push -->

<script>
    (function () {
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        } else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
</script>

    
    <!-- 背景彩带 -->
    
      <script type="text/javascript" size="100" alpha='0.4' zIndex="-1" src="/my-blog/js/ribbon.min.js"></script>
    

    <script src="/my-blog/js/utils/index.js"></script>
    <script src="/my-blog/js/app.js"></script>
    
    <!-- 文章目录所需js -->
<!-- <link href="/my-blog/js/tocbot/tocbot.css" rel="stylesheet">
<script src="/my-blog/js/tocbot/tocbot.min.js"></script> -->

<script src="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.18.2/tocbot.min.js"></script>


<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tocbot/4.18.2/tocbot.css">

<script>
  var headerEl = 'h2, h3, h4',  //headers 
    content = '.post-detail',//文章容器
    idArr = {};  //标题数组以确定是否增加索引id
  //add #id
  var option = {
    // Where to render the table of contents.
    tocSelector: '.toc',
    // Where to grab the headings to build the table of contents.
    contentSelector: content,
    // Which headings to grab inside of the contentSelector element.
    headingSelector: headerEl,
    scrollSmooth: true,
    scrollSmoothOffset: -70,
    // headingsOffset: -($(window).height() * 0.4 - 45),
    headingsOffset: -($(window).height() * 0.4 - 70),
    // positionFixedSelector: '.toc-main',
    // positionFixedClass: 'is-position-fixed',
    fixedSidebarOffset: 'auto',
    activeLinkClass: 'is-active-link',
    orderedList: true,
    collapseDepth: 20,
    // onClick: function (e) {},
  }
  if ($('.toc').length > 0) {

    $(content).children(headerEl).each(function () {
      //去除空格以及多余标点
      var headerId = $(this).text().replace(/[\s|\~|`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\_|\+|\=|\||\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?|\：|\，|\。]/g, '');

      headerId = headerId.toLowerCase();
      if (idArr[headerId]) {
        //id已经存在
        $(this).attr('id', headerId + '-' + idArr[headerId]);
        idArr[headerId]++;
      }
      else {
        //id未存在
        idArr[headerId] = 1;
        $(this).attr('id', headerId);
      }
    });

    document.addEventListener("DOMContentLoaded", function () {
      tocbot.init(option);
      mobileTocClick();
    });

  }

  window.tocScrollFn = function () {
    return bamboo.throttle(function () {
      findHeadPosition();
    }, 100)()
  }
  window.addEventListener('scroll', tocScrollFn);

  const findHeadPosition = function (top) {
    if ($('.toc-list').length <= 0) {
      return false;
    }
    setTimeout(() => {  // or DOMContentLoaded 
      autoScrollToc();
    }, 0);
  }

  const autoScrollToc = function () {
    const $activeItem = document.querySelector('.is-active-link');
    const $cardToc = document.querySelector('.toc-content');
    const activePosition = $activeItem.getBoundingClientRect().top
    const sidebarScrollTop = $cardToc.scrollTop
    if (activePosition > (document.documentElement.clientHeight - 100)) {
      $cardToc.scrollTop = sidebarScrollTop + 150
    }
    if (activePosition < 150) {
      $cardToc.scrollTop = sidebarScrollTop - 150
    }
  }

  document.addEventListener('pjax:send', function () {
    if ($('.toc').length) {
      tocbot.destroy();
    }
  });

  document.addEventListener('pjax:complete', function () {
    if ($('.toc').length) {
      tocbot.init(option);
      mobileTocClick();
    }
  });
  
  // 手机端toc按钮点击出现目录
  const mobileTocClick = function () {
    const $cardTocLayout = document.getElementsByClassName('side_toc')[0];
    const $cardToc = $cardTocLayout.getElementsByClassName('toc-content')[0];
    let right = '45px';
    if (window.innerWidth >= 551 && window.innerWidth <= 992) {
      right = '100px'
    }
    const mobileToc = {
      open: () => {
        $cardTocLayout.style.cssText = 'animation: toc-open .3s; opacity: 1; right: ' + right
      },

      close: () => {
        $cardTocLayout.style.animation = 'toc-close .2s'
        setTimeout(() => {
          $cardTocLayout.style.cssText = "opacity:''; animation: ''; right: ''"
        }, 100)
      }
    }
    document.getElementById('toc-mobile-btn').addEventListener('click', () => {
      if (window.getComputedStyle($cardTocLayout).getPropertyValue('opacity') === '0') mobileToc.open()
      else mobileToc.close()
    })

    $cardToc.addEventListener('click', (e) => {
      if (window.innerWidth < 992) { // 小于992px的时候
        mobileToc.close()
      }
    })
  }
</script>

<style>
  /* .is-position-fixed {
    position: sticky !important;
    top: 74px;
  }

  .toc-main ul {
    counter-reset: show-list;
  }

  .toc-main ul li::before {
    content: counter(item)".";
    display: block;
    position: absolute;
    left: 12px;
    top: 0;
  } */
</style>
 

<!-- 设置导航背景 -->
<script>
  let setHeaderClass = () => {
    const nav = $('#navHeader');
    const navTop = nav.outerHeight();
    const winTop = $(window).scrollTop();
    if(winTop > navTop) {
      nav.addClass('header-bg-color');
    }
    else {
      nav.removeClass('header-bg-color');
    }
  };

  let scrollCollect = () => {
    return bamboo.throttle(function (e) {
      setHeaderClass();
    }, 200)()
  }

  let initHeaderBg = () => {
    setHeaderClass();
  }

  setHeaderClass();
  window.addEventListener('scroll', scrollCollect);

  document.addEventListener('pjax:send', function () {
    window.removeEventListener('scroll', scrollCollect)
  })
  document.addEventListener('pjax:complete', function () {
    window.addEventListener('scroll', scrollCollect);
    setHeaderClass();
  })
</script> 

<!-- 渲染issues标签里的内容 -->
<script>
  function loadIssuesJS() {
    if ($(".post-detail").find(".issues-api").length == 0) {
      return;
    } 
    loadScript('/my-blog/js/issues/index.js');
  };
  $(function () {
    loadIssuesJS();
  });
  document.addEventListener('pjax:complete', function () {
    if (typeof IssuesAPI == "undefined") {
      loadIssuesJS();
    }
  })
</script>

<!-- 输入框打字特效 -->
<!-- 输入框打字特效 -->

  <script src="/my-blog/js/activate-power-mode.js"></script>
  <script>
    POWERMODE.colorful = true;  // 打开随机颜色特效
    POWERMODE.shake = false;    // 关闭输入框抖动
    document.body.addEventListener('input', POWERMODE);//监听打字事件
  </script>


<!-- markdown代码一键复制功能 -->

  <link rel="stylesheet" href="https://unpkg.com/v-plugs-ayu/lib/ayu.css">
  <script src="https://unpkg.com/v-plugs-ayu/lib/ayu.umd.min.js"></script>
  <script src="/my-blog/js/clipboard/clipboard.min.js"></script>
  <div id="appCopy">
  </div>
  <script data-pjax>
    var vm = new Vue({
      el: '#appCopy',
      data: {
      },
      computed: {
      },
      mounted() {
        const that = this;
        var copy = '复制';
        /* code */
        var initCopyCode = function () {
          var copyHtml = '';
          copyHtml += '<button class="btn-copy" data-clipboard-snippet="" style="position:absolute;top:0;right:0;z-index:1;">';
          copyHtml += '<i class="fas fa-copy"></i><span>' + copy + '</span>';
          copyHtml += '</button>';
          $(".post-detail pre").not('.gutter pre').wrap("<div class='codeBox' style='position:relative;width:100%;'></div>")
          $(".post-detail pre").not('.gutter pre').before(copyHtml);
          new ClipboardJS('.btn-copy', {
            target: function (trigger) {
              return trigger.nextElementSibling;
            }
          });
        }
        initCopyCode();
        $('.btn-copy').unbind('click').bind('click', function () {
          doSomething();
        })
        $(document).unbind('keypress').bind('keypress', function (e) {
          if (e.ctrlKey && e.keyCode == 67) {
            doSomething();
          }
        })

        function doSomething() {
          that.$notify({
            title: "成功",
            content: "代码已复制，请遵守相关授权协议。",
            type: 'success'
          })
        }
      },
      methods: {
      },
      created() { }
    })
  </script>
  

<!-- 图片懒加载 -->
<script defer src="https://unpkg.com/vanilla-lazyload@17.1.0/dist/lazyload.min.js"></script>
<script>
  // https://www.npmjs.com/package/vanilla-lazyload
  // Set the options globally
  // to make LazyLoad self-initialize
  window.lazyLoadOptions = {
    elements_selector: ".lazyload",
    threshold: 0
  };
  // Listen to the initialization event
  // and get the instance of LazyLoad
  window.addEventListener(
    "LazyLoad::Initialized",
    function (event) {
      window.lazyLoadInstance = event.detail.instance;
    },
    false
  );
  document.addEventListener('DOMContentLoaded', function () {
    lazyLoadInstance.update();
  });
  document.addEventListener('pjax:complete', function () {
    lazyLoadInstance.update();
  });
</script>


<!-- 卡片滚动动画 -->
   

<!-- 评论所需js -->

  
    <!-- 弹幕所需的css和js -->
    
<!-- 具体js，请前往valine/script.ejs查看 -->

    <script>
  var requiredFields = 'nick,mail';
  requiredFields = requiredFields.split(',');
  comment_el = '.comment';
  let looperValine = null;
  load_valine = function () {
    if ($(comment_el).length) {
      var valine = new Valine({
        el: '#vcomment',
        path: window.location.pathname,
        notify: false,
        verify: false,
        app_id: "6BozzCZTlWMB1BNp9HE0yqtW-gzGzoHsz",
        app_key: "1BuoV4FJKI4t3NIo0sYHWMno",
        placeholder: "客官，说点什么吧",
        avatar: "https://valine.js.org/avatar.html",
        master: "f5ee1285421e234a1dc13a9ea05951a1",   //博主邮箱md5
        tagMeta: ["博主","小伙伴","访客"],     //标识字段名
        friends: "",
        metaPlaceholder: { "nick": "昵称/QQ号", "mail": "邮箱" },
        requiredFields: requiredFields,
        enableQQ: true,
      });
      function debounce(fn) {
        var timerID = null
        return function () {
          var arg = arguments[0]   //获取事件
          if (timerID) {
            clearTimeout(timerID)
          }
          timerID = setTimeout(function () {
            fn(arg)              //事件传入函数
          }, 200)
        }
      }
      //查询评论 valine.Q('*').limit(7) -- 查询所有，限制7条, 下面的的代码是查询当前页面
      var themeDanmu = eval('false');
      var themeLoop = eval('true');
      var themeLooperTime = '5000' || 5000;
      var speed = '40' || 20;
      var isBarrager = true;
      if (themeDanmu == true) {
        do_barrager();
        if ($('.danmuBox').length <= 0) {
          $('.navbar').append('<div class="danmuBox"><div class="danmuBtn open"><span class="danmuCircle"></span><span class="danmuText">弹幕</span></div></div>');
        }
        $('.danmuBtn').on('click', debounce(
          function () {
            if ($('.danmuBtn').hasClass('open')) {
              $('.danmuBtn').removeClass('open')
              clearInterval(looperValine);
              $.fn.barrager.removeAll();
            } else {
              $('.danmuBtn').addClass("open");
              do_barrager();
            }
          }
        ))
      }
      function do_barrager() {
        isBarrager && valine.Q(window.location.pathname).find().then(function (comments) {
          // var num = 0; // 可以记录条数，循环调用的时候只取最新的评论放入弹幕中
          var run_once = true;
          var looper_time = themeLooperTime;
          var total = comments.length;
          // var looper = null;
          var index = 0;
          if (total > 0) {
            barrager();
          } else {
            // 当评论数为0的时候，自动关闭弹幕
            // $('.danmuBtn').removeClass('open');
          }
          function barrager() {
            if (run_once) {
              //如果是首次执行,则设置一个定时器,并且把首次执行置为false
              looperValine = setInterval(barrager, looper_time);
              run_once = false;
            }
            var content = comments[index]._serverData.comment;
            var email = comments[index]._serverData.mail;
            var link = comments[index]._serverData.link;
            var newcontent = content.substring(0, 50).replace(/<[^>]+>/g, "");
            //发布一个弹幕
            const item = {
              img: `https://q1.qlogo.cn/g?b=qq&nk=${email}&s=640`, //图片 
              info: newcontent, //文字 
              href: link, //链接 
              close: true, //显示关闭按钮 
              speed: speed, //延迟,单位秒,默认6 
              color: '#fff', //颜色,默认白色 
              old_ie_color: '#000000', //ie低版兼容色,不能与网页背景相同,默认黑色
            }
            $('body').barrager(item);
            //索引自增
            index++;
            //所有弹幕发布完毕，清除计时器。
            if (index == total) {
              clearInterval(looperValine);
              if (themeLoop === true) {
                setTimeout(function () {
                  do_barrager();
                }, 5000);
              } else {
                $('.danmuBtn').removeClass('open');
              }
              return false;
            }

          }
        })
      }
    }
  };
  $(document).ready(load_valine);
  document.addEventListener('pjax:send', function (e) {
    
  })
  document.addEventListener('pjax:complete', function () {
    load_valine();
  });
</script>

  


<!-- 鼠标点击特效 -->
<!-- 爱心点击 -->

  
    <script src="/my-blog/js/cursor/fireworks.js"></script>
  




  <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" data-pjax></script>


<!-- 轮播图标签 -->
<script>
  var bambooSwiperTag = {};
  function load_swiper() {
    if (!document.querySelectorAll(".post-swiper-container")[0]) return;
    loadCSS("https://unpkg.com/swiper@6/swiper-bundle.min.css")
    loadScript("https://unpkg.com/swiper@6/swiper-bundle.min.js").then(() => {
      pjax_swiper();
    });
  }

  load_swiper();

  function pjax_swiper() {
    bambooSwiperTag.swiper = new Swiper('.post-swiper-container', {
      slidesPerView: 'auto',
      spaceBetween: 8,
      centeredSlides: true,
      loop: true,
      autoplay: true ? {
        delay: 3000,
        stopOnLastSlide: false,
        disableOnInteraction: false,
      } : false,
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
      },
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
      on:{
        init: function(){
          swiperAnimateCache(this); //隐藏动画元素 
          swiperAnimate(this); //初始化完成开始动画
        }, 
        slideChangeTransitionEnd: function(){ 
          swiperAnimate(this); //每个slide切换结束时也运行当前slide动画
          //this.slides.eq(this.activeIndex).find('.ani').removeClass('ani'); 动画只展现一次，去除ani类名
        } 
      }
    });
  }

  document.addEventListener('pjax:complete', function () {
    if (!document.querySelectorAll(".post-swiper-container")[0]) return;
    if (typeof bambooSwiperTag.swiper === "undefined") {
      load_swiper();
    } else {
      pjax_swiper();
    }
  });
</script>
    <!-- pjax -->
    

<!-- pjax -->


  <script src="/my-blog/js/pjax@0.2.8/index.js"></script>
  
    <!-- 样式位于：source/css/_third-party/pjaxanimate.styl -->

<div class="pjax-animate">
  
    <div class="loading-circle"><div id="loader-circle"></div></div>
    <script>
      window.ShowLoading = function() {
        $(".loading-circle").css("display", "block");
      };
      window.HideLoading = function() {
        $(".loading-circle").css("display", "none");
      }
    </script>
  
	<script>
    document.addEventListener('pjax:complete', function () {
      window.HideLoading();
    })
    document.addEventListener('pjax:send', function () {
      window.ShowLoading();
    })
    document.addEventListener('pjax:error', function () {
      window.HideLoading();
    })
	</script>
</div>

  

  <script>
    var pjax = new Pjax({
      elements: 'a[href]:not([href^="#"]):not([href="javascript:void(0)"]):not([no-pjax])',   // 拦截正常带链接的 a 标签
      selectors: ["#pjax-container","title"],                                   // 根据实际需要确认重载区域
      cacheBust: false,   // url 地址追加时间戳，用以避免浏览器缓存
      timeout: 5000
    });

    document.addEventListener('pjax:send', function (e) {

      try {
        var currentUrl = window.location.pathname;
        var targetUrl = e.triggerElement.href;
        var banUrl = [""];
        if (banUrl[0] != "") {
          banUrl.forEach(item => {
            if(currentUrl.indexOf(item) != -1 || targetUrl.indexOf(item) != -1) {
              window.location.href = targetUrl;
            }
          });
        }
      } catch (error) {}

      $(window).unbind('resize');
      $(window).unbind('scroll');
      $(document).unbind('scroll');
      $(document).unbind('click');
      $('body').unbind('click');

    })
    
    document.addEventListener('pjax:complete', function () {
      $('script[data-pjax], .pjax-reload script').each(function () {
        $(this).parent().append($(this).remove());
      });
    });

    document.addEventListener('pjax:error', function (e) {
      window.location.href = e.triggerElement.href;
    })
    
    // 刷新不从顶部开始
    document.addEventListener("DOMContentLoaded", function () {
      history.scrollRestoration = 'auto';
    })
  </script>



  </body>
</html>